home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / MW MPW Binaries 1.1.1a2 / mwcPPC / MWCIncludes / PPCToolBox.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-31  |  18.4 KB  |  634 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        PPCToolBox.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __PPCTOOLBOX__
  13. #define __PPCTOOLBOX__
  14.  
  15. #ifndef __APPLETALK__
  16. #include <AppleTalk.h>
  17. /*    #include <Types.h>                                            */
  18. /*        #include <ConditionalMacros.h>                            */
  19. /*        #include <MixedMode.h>                                    */
  20. /*            #include <Traps.h>                                    */
  21. /*    #include <OSUtils.h>                                        */
  22. #endif
  23.  
  24. #ifndef __MEMORY__
  25. #include <Memory.h>
  26. #endif
  27.  
  28. #ifndef __TYPES__
  29. #endif
  30.  
  31. typedef unsigned char PPCServiceType;
  32.  
  33. enum  {
  34.     ppcServiceRealTime            = 1
  35. };
  36.  
  37. typedef short PPCLocationKind;
  38.  
  39. enum  {
  40.     ppcNoLocation                = 0,                            /* There is no PPCLocName */
  41.     ppcNBPLocation                = 1,                            /* Use AppleTalk NBP      */
  42.     ppcNBPTypeLocation            = 2                                /* Used for specifying a location name type during PPCOpen only */
  43. };
  44.  
  45. typedef short PPCPortKinds;
  46.  
  47. enum  {
  48.     ppcByCreatorAndType            = 1,                            /* Port type is specified as colloquial Mac creator and type */
  49.     ppcByString                    = 2                                /* Port type is in pascal string format */
  50. };
  51.  
  52.  
  53. /* Values returned for request field in PPCInform call */
  54.  
  55. typedef unsigned char PPCSessionOrigin;
  56.  
  57. enum  {
  58. /* Values returned for requestType field in PPCInform call */
  59.     ppcLocalOrigin                = 1,                            /* session originated from this machine */
  60.     ppcRemoteOrigin                = 2                                /* session originated from remote machine */
  61. };
  62.  
  63. typedef short PPCPortRefNum;
  64.  
  65. typedef long PPCSessRefNum;
  66.  
  67. #if defined(powerc) || defined (__powerc)
  68. #pragma options align=mac68k
  69. #endif
  70. struct PPCPortRec {
  71.     ScriptCode                    nameScript;                        /* script of name */
  72.     Str32                        name;                            /* name of port as seen in browser */
  73.     PPCPortKinds                portKindSelector;                /* which variant */
  74.     union {
  75.         Str32                        portTypeStr;                /* pascal type string */
  76.         struct {
  77.             OSType                        creator;
  78.             OSType                        type;
  79.         }                            port;
  80.     }                            u;
  81. };
  82. #if defined(powerc) || defined(__powerc)
  83. #pragma options align=reset
  84. #endif
  85.  
  86. typedef struct PPCPortRec PPCPortRec;
  87.  
  88. typedef PPCPortRec *PPCPortPtr;
  89.  
  90. #if defined(powerc) || defined (__powerc)
  91. #pragma options align=mac68k
  92. #endif
  93. struct LocationNameRec {
  94.     PPCLocationKind                locationKindSelector;            /* which variant */
  95.     union {
  96.         EntityName                    nbpEntity;                    /* NBP name entity */
  97.         Str32                        nbpType;                    /* just the NBP type string, for PPCOpen */
  98.     }                            u;
  99. };
  100. #if defined(powerc) || defined(__powerc)
  101. #pragma options align=reset
  102. #endif
  103.  
  104. typedef struct LocationNameRec LocationNameRec;
  105.  
  106. typedef LocationNameRec *LocationNamePtr;
  107.  
  108. #if defined(powerc) || defined (__powerc)
  109. #pragma options align=mac68k
  110. #endif
  111. struct PortInfoRec {
  112.     unsigned char                filler1;
  113.     Boolean                        authRequired;
  114.     PPCPortRec                    name;
  115. };
  116. #if defined(powerc) || defined(__powerc)
  117. #pragma options align=reset
  118. #endif
  119.  
  120. typedef struct PortInfoRec PortInfoRec;
  121.  
  122. typedef PortInfoRec *PortInfoPtr;
  123.  
  124. typedef PortInfoRec *PortInfoArrayPtr;
  125.  
  126. typedef union PPCParamBlockRec PPCParamBlockRec, *PPCParamBlockPtr;
  127.  
  128. typedef pascal Boolean (*PPCFilterProcPtr)(LocationNamePtr, PortInfoPtr);
  129.  
  130. enum {
  131.     uppPPCFilterProcInfo = kPascalStackBased
  132.          | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
  133.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(LocationNamePtr)))
  134.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(PortInfoPtr)))
  135. };
  136.  
  137. #if USESROUTINEDESCRIPTORS
  138. typedef UniversalProcPtr PPCFilterUPP;
  139.  
  140. #define CallPPCFilterProc(userRoutine, parameter0, parameter1)        \
  141.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPPCFilterProcInfo, (parameter0), (parameter1))
  142. #define NewPPCFilterProc(userRoutine)        \
  143.         (PPCFilterUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPPCFilterProcInfo, GetCurrentISA())
  144. #else
  145. typedef PPCFilterProcPtr PPCFilterUPP;
  146.  
  147. #define CallPPCFilterProc(userRoutine, parameter0, parameter1)        \
  148.         (*(userRoutine))((parameter0), (parameter1))
  149. #define NewPPCFilterProc(userRoutine)        \
  150.         (PPCFilterUPP)(userRoutine)
  151. #endif
  152.  
  153. typedef pascal void (*PPCCompProcPtr)(PPCParamBlockPtr pb);
  154.  
  155. enum {
  156.     uppPPCCompProcInfo = kPascalStackBased
  157.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(PPCParamBlockPtr)))
  158. };
  159.  
  160. #if USESROUTINEDESCRIPTORS
  161. typedef UniversalProcPtr PPCCompUPP;
  162.  
  163. #define CallPPCCompProc(userRoutine, pb)        \
  164.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPPCCompProcInfo, (pb))
  165. #define NewPPCCompProc(userRoutine)        \
  166.         (PPCCompUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPPCCompProcInfo, GetCurrentISA())
  167. #else
  168. typedef PPCCompProcPtr PPCCompUPP;
  169.  
  170. #define CallPPCCompProc(userRoutine, pb)        \
  171.         (*(userRoutine))((pb))
  172. #define NewPPCCompProc(userRoutine)        \
  173.         (PPCCompUPP)(userRoutine)
  174. #endif
  175.  
  176. #define PPCHeader                 \
  177.     Ptr qLink;                     \
  178.     unsigned short csCode;         \
  179.     unsigned short intUse;         \
  180.     Ptr intUsePtr;                 \
  181.                                 \
  182.     PPCCompUPP ioCompletion;        \
  183.                                 \
  184.     OSErr ioResult;             \
  185.     unsigned long    Reserved[5];
  186.  
  187. #if defined(powerc) || defined (__powerc)
  188. #pragma options align=mac68k
  189. #endif
  190. struct PPCOpenPBRec {
  191.     Ptr                            qLink;
  192.     unsigned short                csCode;
  193.     unsigned short                intUse;
  194.     Ptr                            intUsePtr;
  195.     PPCCompUPP                    ioCompletion;
  196.     OSErr                        ioResult;
  197.     unsigned long                Reserved[5];
  198.     PPCPortRefNum                portRefNum;                        /* 38 <--   Port Reference */
  199.     long                        filler1;
  200.     PPCServiceType                serviceType;                    /* 44 -->    Bit field describing the requested port service */
  201.     unsigned char                resFlag;                        /* Must be set to 0 */
  202.     PPCPortPtr                    portName;                        /* 46 -->   PortName for PPC */
  203.     LocationNamePtr                locationName;                    /* 50 -->   If NBP Registration is required */
  204.     Boolean                        networkVisible;                    /* 54 -->   make this network visible on network */
  205.     Boolean                        nbpRegistered;                    /* 55 <--   The given location name was registered on the network */
  206. };
  207. #if defined(powerc) || defined(__powerc)
  208. #pragma options align=reset
  209. #endif
  210.  
  211. typedef struct PPCOpenPBRec PPCOpenPBRec;
  212.  
  213. typedef PPCOpenPBRec *PPCOpenPBPtr;
  214.  
  215. #if defined(powerc) || defined (__powerc)
  216. #pragma options align=mac68k
  217. #endif
  218. struct PPCInformPBRec {
  219.     Ptr                            qLink;
  220.     unsigned short                csCode;
  221.     unsigned short                intUse;
  222.     Ptr                            intUsePtr;
  223.     PPCCompUPP                    ioCompletion;
  224.     OSErr                        ioResult;
  225.     unsigned long                Reserved[5];
  226.     PPCPortRefNum                portRefNum;                        /* 38 -->   Port Identifier */
  227.     PPCSessRefNum                sessRefNum;                        /* 40 <--   Session Reference */
  228.     PPCServiceType                serviceType;                    /* 44 <--   Status Flags for type of session, local, remote */
  229.     Boolean                        autoAccept;                        /* 45 -->   if true session will be accepted automatically */
  230.     PPCPortPtr                    portName;                        /* 46 -->   Buffer for Source PPCPortRec */
  231.     LocationNamePtr                locationName;                    /* 50 -->   Buffer for Source LocationNameRec */
  232.     StringPtr                    userName;                        /* 54 -->   Buffer for Soure user's name trying to link. */
  233.     unsigned long                userData;                        /* 58 <--   value included in PPCStart's userData */
  234.     PPCSessionOrigin            requestType;                    /* 62 <--   Local or Network */
  235. };
  236. #if defined(powerc) || defined(__powerc)
  237. #pragma options align=reset
  238. #endif
  239.  
  240. typedef struct PPCInformPBRec PPCInformPBRec;
  241.  
  242. typedef PPCInformPBRec *PPCInformPBPtr;
  243.  
  244. #if defined(powerc) || defined (__powerc)
  245. #pragma options align=mac68k
  246. #endif
  247. struct PPCStartPBRec {
  248.     Ptr                            qLink;
  249.     unsigned short                csCode;
  250.     unsigned short                intUse;
  251.     Ptr                            intUsePtr;
  252.     PPCCompUPP                    ioCompletion;
  253.     OSErr                        ioResult;
  254.     unsigned long                Reserved[5];
  255.     PPCPortRefNum                portRefNum;                        /* 38 -->   Port Identifier */
  256.     PPCSessRefNum                sessRefNum;                        /* 40 <--   Session Reference */
  257.     PPCServiceType                serviceType;                    /* 44 <--   Actual service method (realTime) */
  258.     unsigned char                resFlag;                        /* 45 -->   Must be set to 0  */
  259.     PPCPortPtr                    portName;                        /* 46 -->   Destination portName */
  260.     LocationNamePtr                locationName;                    /* 50 -->   NBP or NAS style service location name */
  261.     unsigned long                rejectInfo;                        /* 54 <--   reason for rejecting the session request */
  262.     unsigned long                userData;                        /* 58 -->   Copied to destination PPCInform parameter block */
  263.     unsigned long                userRefNum;                        /* 62 -->   userRefNum (obtained during login process)  */
  264. };
  265. #if defined(powerc) || defined(__powerc)
  266. #pragma options align=reset
  267. #endif
  268.  
  269. typedef struct PPCStartPBRec PPCStartPBRec;
  270.  
  271. typedef PPCStartPBRec *PPCStartPBPtr;
  272.  
  273. #if defined(powerc) || defined (__powerc)
  274. #pragma options align=mac68k
  275. #endif
  276. struct PPCAcceptPBRec {
  277.     Ptr                            qLink;
  278.     unsigned short                csCode;
  279.     unsigned short                intUse;
  280.     Ptr                            intUsePtr;
  281.     PPCCompUPP                    ioCompletion;
  282.     OSErr                        ioResult;
  283.     unsigned long                Reserved[5];
  284.     short                        filler1;
  285.     PPCSessRefNum                sessRefNum;                        /* 40 -->   Session Reference */
  286. };
  287. #if defined(powerc) || defined(__powerc)
  288. #pragma options align=reset
  289. #endif
  290.  
  291. typedef struct PPCAcceptPBRec PPCAcceptPBRec;
  292.  
  293. typedef PPCAcceptPBRec *PPCAcceptPBPtr;
  294.  
  295. #if defined(powerc) || defined (__powerc)
  296. #pragma options align=mac68k
  297. #endif
  298. struct PPCRejectPBRec {
  299.     Ptr                            qLink;
  300.     unsigned short                csCode;
  301.     unsigned short                intUse;
  302.     Ptr                            intUsePtr;
  303.     PPCCompUPP                    ioCompletion;
  304.     OSErr                        ioResult;
  305.     unsigned long                Reserved[5];
  306.     short                        filler1;
  307.     PPCSessRefNum                sessRefNum;                        /* 40 -->   Session Reference */
  308.     short                        filler2;
  309.     long                        filler3;
  310.     long                        filler4;
  311.     unsigned long                rejectInfo;                        /* 54 -->   reason for rejecting the session request  */
  312. };
  313. #if defined(powerc) || defined(__powerc)
  314. #pragma options align=reset
  315. #endif
  316.  
  317. typedef struct PPCRejectPBRec PPCRejectPBRec;
  318.  
  319. typedef PPCRejectPBRec *PPCRejectPBPtr;
  320.  
  321. #if defined(powerc) || defined (__powerc)
  322. #pragma options align=mac68k
  323. #endif
  324. struct PPCWritePBRec {
  325.     Ptr                            qLink;
  326.     unsigned short                csCode;
  327.     unsigned short                intUse;
  328.     Ptr                            intUsePtr;
  329.     PPCCompUPP                    ioCompletion;
  330.     OSErr                        ioResult;
  331.     unsigned long                Reserved[5];
  332.     short                        filler1;
  333.     PPCSessRefNum                sessRefNum;                        /* 40 -->   Session Reference */
  334.     Size                        bufferLength;                    /* 44 -->   Length of the message buffer */
  335.     Size                        actualLength;                    /* 48 <--   Actual Length Written */
  336.     Ptr                            bufferPtr;                        /* 52 -->   Pointer to message buffer */
  337.     Boolean                        more;                            /* 56 -->   if more data in this block will be written */
  338.     unsigned char                filler2;
  339.     unsigned long                userData;                        /* 58 -->   Message block userData Uninterpreted by PPC */
  340.     OSType                        blockCreator;                    /* 62 -->   Message block creator Uninterpreted by PPC */
  341.     OSType                        blockType;                        /* 66 -->   Message block type Uninterpreted by PPC */
  342. };
  343. #if defined(powerc) || defined(__powerc)
  344. #pragma options align=reset
  345. #endif
  346.  
  347. typedef struct PPCWritePBRec PPCWritePBRec;
  348.  
  349. typedef PPCWritePBRec *PPCWritePBPtr;
  350.  
  351. #if defined(powerc) || defined (__powerc)
  352. #pragma options align=mac68k
  353. #endif
  354. struct PPCReadPBRec {
  355.     Ptr                            qLink;
  356.     unsigned short                csCode;
  357.     unsigned short                intUse;
  358.     Ptr                            intUsePtr;
  359.     PPCCompUPP                    ioCompletion;
  360.     OSErr                        ioResult;
  361.     unsigned long                Reserved[5];
  362.     short                        filler1;
  363.     PPCSessRefNum                sessRefNum;                        /* 40 -->   Session Reference */
  364.     Size                        bufferLength;                    /* 44 -->   Length of the message buffer */
  365.     Size                        actualLength;                    /* 48 <--   Actual length read */
  366.     Ptr                            bufferPtr;                        /* 52 -->   Pointer to message buffer */
  367.     Boolean                        more;                            /* 56 <--   if true more data in this block to be read */
  368.     unsigned char                filler2;
  369.     unsigned long                userData;                        /* 58 <--   Message block userData Uninterpreted by PPC */
  370.     OSType                        blockCreator;                    /* 62 <--   Message block creator Uninterpreted by PPC */
  371.     OSType                        blockType;                        /* 66 <--   Message block type Uninterpreted by PPC */
  372. };
  373. #if defined(powerc) || defined(__powerc)
  374. #pragma options align=reset
  375. #endif
  376.  
  377. typedef struct PPCReadPBRec PPCReadPBRec;
  378.  
  379. typedef PPCReadPBRec *PPCReadPBPtr;
  380.  
  381. #if defined(powerc) || defined (__powerc)
  382. #pragma options align=mac68k
  383. #endif
  384. struct PPCEndPBRec {
  385.     Ptr                            qLink;
  386.     unsigned short                csCode;
  387.     unsigned short                intUse;
  388.     Ptr                            intUsePtr;
  389.     PPCCompUPP                    ioCompletion;
  390.     OSErr                        ioResult;
  391.     unsigned long                Reserved[5];
  392.     short                        filler1;
  393.     PPCSessRefNum                sessRefNum;                        /* 40 -->   Session Reference */
  394. };
  395. #if defined(powerc) || defined(__powerc)
  396. #pragma options align=reset
  397. #endif
  398.  
  399. typedef struct PPCEndPBRec PPCEndPBRec;
  400.  
  401. typedef PPCEndPBRec *PPCEndPBPtr;
  402.  
  403. #if defined(powerc) || defined (__powerc)
  404. #pragma options align=mac68k
  405. #endif
  406. struct PPCClosePBRec {
  407.     Ptr                            qLink;
  408.     unsigned short                csCode;
  409.     unsigned short                intUse;
  410.     Ptr                            intUsePtr;
  411.     PPCCompUPP                    ioCompletion;
  412.     OSErr                        ioResult;
  413.     unsigned long                Reserved[5];
  414.     PPCPortRefNum                portRefNum;                        /* 38 -->   Port Identifier */
  415. };
  416. #if defined(powerc) || defined(__powerc)
  417. #pragma options align=reset
  418. #endif
  419.  
  420. typedef struct PPCClosePBRec PPCClosePBRec;
  421.  
  422. typedef PPCClosePBRec *PPCClosePBPtr;
  423.  
  424. #if defined(powerc) || defined (__powerc)
  425. #pragma options align=mac68k
  426. #endif
  427. struct IPCListPortsPBRec {
  428.     Ptr                            qLink;
  429.     unsigned short                csCode;
  430.     unsigned short                intUse;
  431.     Ptr                            intUsePtr;
  432.     PPCCompUPP                    ioCompletion;
  433.     OSErr                        ioResult;
  434.     unsigned long                Reserved[5];
  435.     short                        filler1;
  436.     unsigned short                startIndex;                        /* 40 -->   Start Index */
  437.     unsigned short                requestCount;                    /* 42 -->   Number of entries to be returned */
  438.     unsigned short                actualCount;                    /* 44 <--   Actual Number of entries to be returned */
  439.     PPCPortPtr                    portName;                        /* 46 -->   PortName Match */
  440.     LocationNamePtr                locationName;                    /* 50 -->   NBP or NAS type name to locate the Port Location */
  441.     PortInfoArrayPtr            bufferPtr;                        /* 54 -->   Pointer to a buffer requestCount*sizeof(PortInfo) bytes big */
  442. };
  443. #if defined(powerc) || defined(__powerc)
  444. #pragma options align=reset
  445. #endif
  446.  
  447. typedef struct IPCListPortsPBRec IPCListPortsPBRec;
  448.  
  449. typedef IPCListPortsPBRec *IPCListPortsPBPtr;
  450.  
  451. #if defined(powerc) || defined (__powerc)
  452. #pragma options align=mac68k
  453. #endif
  454. union PPCParamBlockRec {
  455.     PPCOpenPBRec                openParam;
  456.     PPCInformPBRec                informParam;
  457.     PPCStartPBRec                startParam;
  458.     PPCAcceptPBRec                acceptParam;
  459.     PPCRejectPBRec                rejectParam;
  460.     PPCWritePBRec                writeParam;
  461.     PPCReadPBRec                readParam;
  462.     PPCEndPBRec                    endParam;
  463.     PPCClosePBRec                closeParam;
  464.     IPCListPortsPBRec            listPortsParam;
  465. };
  466. #if defined(powerc) || defined(__powerc)
  467. #pragma options align=reset
  468. #endif
  469.  
  470. #ifdef __cplusplus
  471. extern "C" {
  472. #endif
  473.  
  474.  
  475. /*  PPC Calling Conventions  */
  476.  
  477.  
  478. #if USES68KINLINES
  479. #pragma parameter __D0 PPCInit
  480. #endif
  481. extern pascal OSErr PPCInit(void)
  482.  TWOWORDINLINE(0x7000, 0xA0DD);
  483. #define PPCOpen(pb, async) ((async) ? PPCOpenAsync(pb) : PPCOpenSync(pb))
  484.  
  485.  
  486. #if USES68KINLINES
  487. #pragma parameter __D0 PPCOpenSync(__A0)
  488. #endif
  489. extern pascal OSErr PPCOpenSync(PPCOpenPBPtr pb)
  490.  TWOWORDINLINE(0x7001, 0xA0DD);
  491.  
  492. #if USES68KINLINES
  493. #pragma parameter __D0 PPCOpenAsync(__A0)
  494. #endif
  495. extern pascal OSErr PPCOpenAsync(PPCOpenPBPtr pb)
  496.  TWOWORDINLINE(0x7001, 0xA4DD);
  497. #define PPCInform(pb, async) ((async) ? PPCInformAsync(pb) : PPCInformSync(pb))
  498.  
  499.  
  500. #if USES68KINLINES
  501. #pragma parameter __D0 PPCInformSync(__A0)
  502. #endif
  503. extern pascal OSErr PPCInformSync(PPCInformPBPtr pb)
  504.  TWOWORDINLINE(0x7003, 0xA0DD);
  505.  
  506. #if USES68KINLINES
  507. #pragma parameter __D0 PPCInformAsync(__A0)
  508. #endif
  509. extern pascal OSErr PPCInformAsync(PPCInformPBPtr pb)
  510.  TWOWORDINLINE(0x7003, 0xA4DD);
  511. #define PPCStart(pb, async) ((async) ? PPCStartAsync(pb) : PPCStartSync(pb))
  512.  
  513.  
  514. #if USES68KINLINES
  515. #pragma parameter __D0 PPCStartSync(__A0)
  516. #endif
  517. extern pascal OSErr PPCStartSync(PPCStartPBPtr pb)
  518.  TWOWORDINLINE(0x7002, 0xA0DD);
  519.  
  520. #if USES68KINLINES
  521. #pragma parameter __D0 PPCStartAsync(__A0)
  522. #endif
  523. extern pascal OSErr PPCStartAsync(PPCStartPBPtr pb)
  524.  TWOWORDINLINE(0x7002, 0xA4DD);
  525. #define PPCAccept(pb, async) ((async) ? PPCAcceptAsync(pb) : PPCAcceptSync(pb))
  526.  
  527.  
  528. #if USES68KINLINES
  529. #pragma parameter __D0 PPCAcceptSync(__A0)
  530. #endif
  531. extern pascal OSErr PPCAcceptSync(PPCAcceptPBPtr pb)
  532.  TWOWORDINLINE(0x7004, 0xA0DD);
  533.  
  534. #if USES68KINLINES
  535. #pragma parameter __D0 PPCAcceptAsync(__A0)
  536. #endif
  537. extern pascal OSErr PPCAcceptAsync(PPCAcceptPBPtr pb)
  538.  TWOWORDINLINE(0x7004, 0xA4DD);
  539. #define PPCReject(pb, async) ((async) ? PPCRejectAsync(pb) : PPCRejectSync(pb))
  540.  
  541.  
  542. #if USES68KINLINES
  543. #pragma parameter __D0 PPCRejectSync(__A0)
  544. #endif
  545. extern pascal OSErr PPCRejectSync(PPCRejectPBPtr pb)
  546.  TWOWORDINLINE(0x7005, 0xA0DD);
  547.  
  548. #if USES68KINLINES
  549. #pragma parameter __D0 PPCRejectAsync(__A0)
  550. #endif
  551. extern pascal OSErr PPCRejectAsync(PPCRejectPBPtr pb)
  552.  TWOWORDINLINE(0x7005, 0xA4DD);
  553. #define PPCWrite(pb, async) ((async) ? PPCWriteAsync(pb) : PPCWriteSync(pb))
  554.  
  555.  
  556. #if USES68KINLINES
  557. #pragma parameter __D0 PPCWriteSync(__A0)
  558. #endif
  559. extern pascal OSErr PPCWriteSync(PPCWritePBPtr pb)
  560.  TWOWORDINLINE(0x7006, 0xA0DD);
  561.  
  562. #if USES68KINLINES
  563. #pragma parameter __D0 PPCWriteAsync(__A0)
  564. #endif
  565. extern pascal OSErr PPCWriteAsync(PPCWritePBPtr pb)
  566.  TWOWORDINLINE(0x7006, 0xA4DD);
  567. #define PPCRead(pb, async) ((async) ? PPCReadAsync(pb) : PPCReadSync(pb))
  568.  
  569.  
  570. #if USES68KINLINES
  571. #pragma parameter __D0 PPCReadSync(__A0)
  572. #endif
  573. extern pascal OSErr PPCReadSync(PPCReadPBPtr pb)
  574.  TWOWORDINLINE(0x7007, 0xA0DD);
  575.  
  576. #if USES68KINLINES
  577. #pragma parameter __D0 PPCReadAsync(__A0)
  578. #endif
  579. extern pascal OSErr PPCReadAsync(PPCReadPBPtr pb)
  580.  TWOWORDINLINE(0x7007, 0xA4DD);
  581. #define PPCEnd(pb, async) ((async) ? PPCEndAsync(pb) : PPCEndSync(pb))
  582.  
  583.  
  584. #if USES68KINLINES
  585. #pragma parameter __D0 PPCEndSync(__A0)
  586. #endif
  587. extern pascal OSErr PPCEndSync(PPCEndPBPtr pb)
  588.  TWOWORDINLINE(0x7008, 0xA0DD);
  589.  
  590. #if USES68KINLINES
  591. #pragma parameter __D0 PPCEndAsync(__A0)
  592. #endif
  593. extern pascal OSErr PPCEndAsync(PPCEndPBPtr pb)
  594.  TWOWORDINLINE(0x7008, 0xA4DD);
  595. #define PPCClose(pb, async) ((async) ? PPCCloseAsync(pb) : PPCCloseSync(pb))
  596.  
  597.  
  598. #if USES68KINLINES
  599. #pragma parameter __D0 PPCCloseSync(__A0)
  600. #endif
  601. extern pascal OSErr PPCCloseSync(PPCClosePBPtr pb)
  602.  TWOWORDINLINE(0x7009, 0xA0DD);
  603.  
  604. #if USES68KINLINES
  605. #pragma parameter __D0 PPCCloseAsync(__A0)
  606. #endif
  607. extern pascal OSErr PPCCloseAsync(PPCClosePBPtr pb)
  608.  TWOWORDINLINE(0x7009, 0xA4DD);
  609. #define IPCListPorts(pb, async) ((async) ? IPCListPortsAsync(pb) : IPCListPortsSync(pb))
  610.  
  611.  
  612. #if USES68KINLINES
  613. #pragma parameter __D0 IPCListPortsSync(__A0)
  614. #endif
  615. extern pascal OSErr IPCListPortsSync(IPCListPortsPBPtr pb)
  616.  TWOWORDINLINE(0x700A, 0xA0DD);
  617.  
  618. #if USES68KINLINES
  619. #pragma parameter __D0 IPCListPortsAsync(__A0)
  620. #endif
  621. extern pascal OSErr IPCListPortsAsync(IPCListPortsPBPtr pb)
  622.  TWOWORDINLINE(0x700A, 0xA4DD);
  623. extern pascal OSErr DeleteUserIdentity(unsigned long userRef);
  624. extern pascal OSErr GetDefaultUser(unsigned long *userRef, Str32 userName);
  625. extern pascal OSErr StartSecureSession(PPCStartPBPtr pb, Str32 userName, Boolean useDefault, Boolean allowGuest, Boolean *guestSelected, ConstStr255Param prompt);
  626. extern pascal OSErr PPCBrowser(ConstStr255Param prompt, ConstStr255Param applListLabel, Boolean defaultSpecified, LocationNameRec *theLocation, PortInfoRec *thePortInfo, PPCFilterUPP portFilter, ConstStr32Param theLocNBPType)
  627.  THREEWORDINLINE(0x303C, 0x0D00, 0xA82B);
  628. #ifdef __cplusplus
  629. }
  630. #endif
  631.  
  632. #endif
  633.  
  634.